In the technology of an image forming apparatus, which is a typical example of a peripheral device, it is widely known to count the total outputs by using a hardware counter having a mechanical structure. To reduce the cost and the space necessary for installing a counter, a software counter has been proposed. The software counter technique allows a large number of counters to be implemented in a small space at low cost. In the software counter, count values are stored in a semiconductor memory. This makes it possible to prepare software counters for respective functions and store accurate count information for respective functions. (Japanese Patent Application Laid-Open No. 2001-92779). Hereinafter, the soft counter is referred to simply as a counter. In the present invention, the term “counter” is used to generically describe means for measuring and storing the amount of usage, such as the number of times that a program is executed, the number of times that an operation is performed, or the length of usage time of an application program, in a peripheral device such as a printer, a facsimile machine, a scanner, a copier, or a multifunction apparatus having two or more of the above functions.
A printing system is known in which charge for use is imposed depending on a combination of a particular function such as a printing function or a scanner function and an application that uses the particular function (Japanese Patent Application Laid-Open No. 2002-117157).
It is becoming easier to add and delete software to realize various kinds functions on a peripheral device. A printing apparatus has been proposed in which a counter is fixedly assigned to each application to count the number of times that each application is executed.
Provision of counters assigned to respective applications makes it possible to impose charge for use of applications depending on the amount of usage of each application. In this case, an owner of applications or an agent such as a service person has to periodically read the count values for respective applications and charge users for use of the applications on the basis of the count values. However, management of count values is troublesome, and reading the count values needs a high labor cost. The problem becomes serious in particular when there are a large number of applications. Even in a system in which counter values are automatically read via a network or the like, the system has to have high reliability, and it is required to collect information each time counting is performed, which causes a high load to be imposed on the network.
A possible technique of solving the above problems is to impose an upper limit on the amount of usage for each application and to give rights of usage of applications to users by issuing an electronic certificate authenticated by a particular certificate authority (CA) or by providing license information or license data to users whereby users are allowed to use applications within given rights.
However, anyone can produce license information by using a production tool, if the production tool is acquired.